package com.ybbase.framework.service.system;

import com.ybbase.framework.model.po.system.Permission;
import com.ybbase.framework.model.po.system.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ybbase.framework.model.po.system.UserRole;

import java.util.List;

/**
 * <p>
 * 系统角色 服务类
 * </p>
 *
 * @author cg
 * @since 2019-11-25
 */
public interface RoleService extends IService<Role> {

    /**
     * 根据用户编码获取角色列表
     * @param userId 用户编码
     * @return List<Role>
     * @author cg
     * @date 2019-11-26 17:41
     * @since cloud2.0
     */
    List<Role> getRoleListByUserId(Integer userId);

    /**
     * 保存角色
     * @param role 角色编码
     * @author cg
     * @date 2019-11-29 17:26
     * @since cloud2.0
     */
    void saveRole(Role role);

    /**
     * 删除角色
     * @param roleId 角色编码
     * @author cg
     * @date 2019-11-29 17:29
     * @since cloud2.0
     */
    void removeRole(Integer roleId);

    void removeRolePer(Integer roleId);

    /**
     * 根据角色id查询用户
     *
     * @param role_id
     * @return
     */
    List<UserRole> findRoidByUser(Integer role_id);

    /**
     * 根据角色id查询用户id
     * @param role_id
     * @return
     */
    List<Integer> findUserId(Integer role_id);
}
